﻿using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using SisEagle.Common.Code.Utils;


namespace SisEagleBO
{

    /// <summary>
    /// Classe BO: Business Objects
    /// Criador: Rafael da Silva França
    /// Criada em 08/09/2012
    /// Contato: rafael.sfranca@gmail.com
    /// </summary>
    public partial class ProdutosBO
    {
        public UtilsNum _UtilsNum;
        public UtilsNum UtilsNumber
        {
            get
            {
                if (_UtilsNum == null)
                    _UtilsNum = new UtilsNum();

                return _UtilsNum;
            }
        }
        // Atributos
        private SisEagleDO.SisEagleDO objDO = null;
        private StringBuilder strSql = null;

        //Métodos
        /// <summary>
        /// Seleciona todos os registros e retorna um DataSet.
        /// </summary>
        /// <returns>DataSet</returns>
        public DataSet FindAll()
        {
            try
            {
                strSql = new StringBuilder();
                strSql.Append(" SELECT ");
                strSql.Append(" Produtos.CodProduto, Produtos.Descricao, Produtos.Valor_Compra, Produtos.Valor_Venda, " +
                    "Produtos.Deletado, Produtos.NomeProduto, Categorias.NomeCategoria, Produtos.codCategoria FROM Produtos INNER JOIN " +
                    "  Categorias ON Produtos.codCategoria = Categorias.CodCategoria");

                objDO = new SisEagleDO.SisEagleDO();

                // executa consulta e retorna um DataSet
                return objDO.GetDataSet(strSql.ToString(), "Produtos");
            }
            catch (Exception er)
            {
                throw new Exception("Aconteceu um erro:" + er.Message.ToString());
            }
            finally
            {
                strSql = null;
            }
        }

        /// <summary>
        /// Seleciona todos os registros com ordenação e retorna um DataSet.
        /// </summary>
        /// <param name="_orderby">campo de ordenação</param>
        /// <returns>DataSet</returns>
        public DataSet FindAll(string _orderby)
        {
            try
            {
                strSql = new StringBuilder();
                strSql.Append(" SELECT ");
                // colunas
                strSql.Append(" Produtos.CodProduto, Produtos.Descricao, Produtos.Valor_Compra, Produtos.Valor_Venda, " +
                    "Produtos.Deletado, Produtos.NomeProduto, Categorias.NomeCategoria, Produtos.codCategoria FROM Produtos INNER JOIN " +
                    "  Categorias ON Produtos.codCategoria = Categorias.CodCategoria");
                strSql.Append(" ORDER BY " + _orderby);

                objDO = new SisEagleDO.SisEagleDO();

                // executa consulta e retorna um DataSet
                return objDO.GetDataSet(strSql.ToString(), "Produtos");
            }
            catch (Exception er)
            {
                throw new Exception("Aconteceu um erro:" + er.Message.ToString());
            }
            finally
            {
                strSql = null;
            }
        }

        /// <summary>
        /// Seleciona todos os registros com filtro.
        /// </summary>
        /// <param name="_filtro ("id_campo = 1 AND campo1 = 'texto' OR campo2 LIKE 'r%'")">filtro da consulta</param>
        /// <returns>DataSet</returns>
        public DataSet FindByWhere(string _filtro)
        {
            try
            {
                strSql = new StringBuilder();
                strSql.Append(" SELECT ");
                // colunas
                strSql.Append(" Produtos.CodProduto, Produtos.Descricao, Produtos.Valor_Compra, Produtos.Valor_Venda, " +
                    "Produtos.Deletado, Produtos.NomeProduto, Categorias.NomeCategoria, Produtos.codCategoria FROM Produtos INNER JOIN " +
                    "  Categorias ON Produtos.codCategoria = Categorias.CodCategoria");
                strSql.Append(" WHERE ( " + _filtro + " ) ");

                objDO = new SisEagleDO.SisEagleDO();

                // executa consulta e retorna um DataSet
                return objDO.GetDataSet(strSql.ToString(), "Produtos");
            }
            catch (Exception er)
            {
                throw new Exception("Aconteceu um erro:" + er.Message.ToString());
            }
            finally
            {
                strSql = null;
            }
        }

        /// <summary>
        /// Seleciona todos os registros com filtro e ordenação.
        /// </summary>
        /// <param name="_filtro ("id_campo = 1 AND campo1 = 'texto' OR campo2 LIKE 'r%'")">filtro da consulta</param>
        /// <param name="_orderby">campo de ordenação</param>
        /// <returns>DataSet</returns>
        public DataSet FindByWhere(string _filtro, string _orderby)
        {
            try
            {
                strSql = new StringBuilder();
                strSql.Append(" SELECT ");
                // colunas
                strSql.Append(" Produtos.CodProduto, Produtos.Descricao, Produtos.Valor_Compra, Produtos.Valor_Venda, " +
                    "Produtos.Deletado, Produtos.NomeProduto, Categorias.NomeCategoria, Produtos.codCategoria FROM Produtos INNER JOIN " +
                    "  Categorias ON Produtos.codCategoria = Categorias.CodCategoria");
                strSql.Append(" WHERE ( " + _filtro + " ) ");
                strSql.Append(" ORDER BY " + _orderby);

                objDO = new SisEagleDO.SisEagleDO();

                // executa consulta e retorna um DataSet
                return objDO.GetDataSet(strSql.ToString(), "Produtos");
            }
            catch (Exception er)
            {
                throw new Exception("Aconteceu um erro:" + er.Message.ToString());
            }
            finally
            {
                strSql = null;
            }
        }

        /// <summary>
        /// Seleciona todos os registros por CodProduto.
        /// </summary>
        /// <param name="_CodProduto">filtro da consulta</param>
        /// <returns>DataSet</returns>
        public DataSet FindBy_CodProduto(int _CodProduto)
        {
            try
            {
                strSql = new StringBuilder();
                strSql.Append(" SELECT ");
                // colunas
                strSql.Append(" Produtos.CodProduto, Produtos.Descricao, Produtos.Valor_Compra, Produtos.Valor_Venda, " +
                    "Produtos.Deletado, Produtos.NomeProduto, Categorias.NomeCategoria, Produtos.codCategoria FROM Produtos INNER JOIN " +
                    "  Categorias ON Produtos.codCategoria = Categorias.CodCategoria");
                strSql.Append(" WHERE (  Produtos.CodProduto =   " + _CodProduto + "  ) ");

                objDO = new SisEagleDO.SisEagleDO();

                // executa consulta e retorna um DataSet
                return objDO.GetDataSet(strSql.ToString(), "Produtos");
            }
            catch (Exception er)
            {
                throw new Exception("Aconteceu um erro:" + er.Message.ToString());
            }
            finally
            {
                strSql = null;
            }
        }

        /// <summary>
        /// Seleciona todos os registros por CodProduto.
        /// </summary>
        /// <param name="_CodProduto">filtro da consulta</param>
        /// <param name="_orderby">campo de ordenação</param>
        /// <returns>DataSet</returns>
        public DataSet FindBy_CodProduto(int _CodProduto, string _orderby)
        {
            try
            {
                strSql = new StringBuilder();
                strSql.Append(" SELECT ");
                // colunas
                strSql.Append(" Produtos.CodProduto, Produtos.Descricao, Produtos.Valor_Compra, Produtos.Valor_Venda, " +
                    "Produtos.Deletado, Produtos.NomeProduto, Categorias.NomeCategoria, Produtos.codCategoria FROM Produtos INNER JOIN " +
                    "  Categorias ON Produtos.codCategoria = Categorias.CodCategoria");
                strSql.Append(" WHERE (  Produtos.CodProduto =   " + _CodProduto + "  ) ");
                strSql.Append(" ORDER BY " + _orderby);

                objDO = new SisEagleDO.SisEagleDO();

                // executa consulta e retorna um DataSet
                return objDO.GetDataSet(strSql.ToString(), "Produtos");
            }
            catch (Exception er)
            {
                throw new Exception("Aconteceu um erro:" + er.Message.ToString());
            }
            finally
            {
                strSql = null;
            }
        }

        /// <summary>
        /// Seleciona todos os registros por Descricao.
        /// </summary>
        /// <param name="_Descricao">filtro da consulta</param>
        /// <returns>DataSet</returns>
        public DataSet FindBy_Descricao(string _Descricao)
        {
            try
            {
                strSql = new StringBuilder();
                strSql.Append(" SELECT ");
                // colunas
                strSql.Append(" Produtos.CodProduto, Produtos.Descricao, Produtos.Valor_Compra, Produtos.Valor_Venda, " +
                    "Produtos.Deletado, Produtos.NomeProduto, Categorias.NomeCategoria, Produtos.codCategoria FROM Produtos INNER JOIN " +
                    "  Categorias ON Produtos.codCategoria = Categorias.CodCategoria");
                strSql.Append(" WHERE (  Produtos.Descricao =  '" + _Descricao + "'  ) ");

                objDO = new SisEagleDO.SisEagleDO();

                // executa consulta e retorna um DataSet
                return objDO.GetDataSet(strSql.ToString(), "Produtos");
            }
            catch (Exception er)
            {
                throw new Exception("Aconteceu um erro:" + er.Message.ToString());
            }
            finally
            {
                strSql = null;
            }
        }

        /// <summary>
        /// Seleciona todos os registros por Descricao.
        /// </summary>
        /// <param name="_Descricao">filtro da consulta</param>
        /// <param name="_orderby">campo de ordenação</param>
        /// <returns>DataSet</returns>
        public DataSet FindBy_Descricao(string _Descricao, string _orderby)
        {
            try
            {
                strSql = new StringBuilder();
                strSql.Append(" SELECT ");
                // colunas
                strSql.Append(" Produtos.CodProduto, Produtos.Descricao, Produtos.Valor_Compra, Produtos.Valor_Venda, " +
                    "Produtos.Deletado, Produtos.NomeProduto, Categorias.NomeCategoria, Produtos.codCategoria FROM Produtos INNER JOIN " +
                    "  Categorias ON Produtos.codCategoria = Categorias.CodCategoria");
                strSql.Append(" WHERE (  Produtos.Descricao =  '" + _Descricao + "'  ) ");
                strSql.Append(" ORDER BY " + _orderby);

                objDO = new SisEagleDO.SisEagleDO();

                // executa consulta e retorna um DataSet
                return objDO.GetDataSet(strSql.ToString(), "Produtos");
            }
            catch (Exception er)
            {
                throw new Exception("Aconteceu um erro:" + er.Message.ToString());
            }
            finally
            {
                strSql = null;
            }
        }

        /// <summary>
        /// Seleciona todos os registros por Valor_Compra.
        /// </summary>
        /// <param name="_Valor_Compra">filtro da consulta</param>
        /// <returns>DataSet</returns>
        public DataSet FindBy_Valor_Compra(decimal _Valor_Compra)
        {
            try
            {
                strSql = new StringBuilder();
                strSql.Append(" SELECT ");
                // colunas
                strSql.Append(" CodProduto, Descricao, Valor_Compra, Valor_Venda, Deletado, codCategoria, NomeProduto  ");
                strSql.Append(" FROM  Produtos  ");
                strSql.Append(" WHERE (  Produtos.Valor_Compra =   " + _Valor_Compra + "  ) ");

                objDO = new SisEagleDO.SisEagleDO();

                // executa consulta e retorna um DataSet
                return objDO.GetDataSet(strSql.ToString(), "Produtos");
            }
            catch (Exception er)
            {
                throw new Exception("Aconteceu um erro:" + er.Message.ToString());
            }
            finally
            {
                strSql = null;
            }
        }

        /// <summary>
        /// Seleciona todos os registros por Valor_Compra.
        /// </summary>
        /// <param name="_Valor_Compra">filtro da consulta</param>
        /// <param name="_orderby">campo de ordenação</param>
        /// <returns>DataSet</returns>
        public DataSet FindBy_Valor_Compra(decimal _Valor_Compra, string _orderby)
        {
            try
            {
                strSql = new StringBuilder();
                strSql.Append(" SELECT ");
                // colunas
                strSql.Append(" CodProduto, Descricao, Valor_Compra, Valor_Venda, Deletado, codCategoria, NomeProduto  ");
                strSql.Append(" FROM  Produtos  ");
                strSql.Append(" WHERE (  Produtos.Valor_Compra =   " + _Valor_Compra + "  ) ");
                strSql.Append(" ORDER BY " + _orderby);

                objDO = new SisEagleDO.SisEagleDO();

                // executa consulta e retorna um DataSet
                return objDO.GetDataSet(strSql.ToString(), "Produtos");
            }
            catch (Exception er)
            {
                throw new Exception("Aconteceu um erro:" + er.Message.ToString());
            }
            finally
            {
                strSql = null;
            }
        }

        /// <summary>
        /// Seleciona todos os registros por Valor_Venda.
        /// </summary>
        /// <param name="_Valor_Venda">filtro da consulta</param>
        /// <returns>DataSet</returns>
        public DataSet FindBy_Valor_Venda(decimal _Valor_Venda)
        {
            try
            {
                strSql = new StringBuilder();
                strSql.Append(" SELECT ");
                // colunas
                strSql.Append(" CodProduto, Descricao, Valor_Compra, Valor_Venda, Deletado, codCategoria, NomeProduto  ");
                strSql.Append(" FROM  Produtos  ");
                strSql.Append(" WHERE (  Produtos.Valor_Venda =   " + _Valor_Venda + "  ) ");

                objDO = new SisEagleDO.SisEagleDO();

                // executa consulta e retorna um DataSet
                return objDO.GetDataSet(strSql.ToString(), "Produtos");
            }
            catch (Exception er)
            {
                throw new Exception("Aconteceu um erro:" + er.Message.ToString());
            }
            finally
            {
                strSql = null;
            }
        }

        /// <summary>
        /// Seleciona todos os registros por Valor_Venda.
        /// </summary>
        /// <param name="_Valor_Venda">filtro da consulta</param>
        /// <param name="_orderby">campo de ordenação</param>
        /// <returns>DataSet</returns>
        public DataSet FindBy_Valor_Venda(decimal _Valor_Venda, string _orderby)
        {
            try
            {
                strSql = new StringBuilder();
                strSql.Append(" SELECT ");
                // colunas
                strSql.Append(" CodProduto, Descricao, Valor_Compra, Valor_Venda, Deletado, codCategoria, NomeProduto  ");
                strSql.Append(" FROM  Produtos  ");
                strSql.Append(" WHERE (  Produtos.Valor_Venda =   " + _Valor_Venda + "  ) ");
                strSql.Append(" ORDER BY " + _orderby);

                objDO = new SisEagleDO.SisEagleDO();

                // executa consulta e retorna um DataSet
                return objDO.GetDataSet(strSql.ToString(), "Produtos");
            }
            catch (Exception er)
            {
                throw new Exception("Aconteceu um erro:" + er.Message.ToString());
            }
            finally
            {
                strSql = null;
            }
        }

        /// <summary>
        /// Seleciona todos os registros por Deletado.
        /// </summary>
        /// <param name="_Deletado">filtro da consulta</param>
        /// <returns>DataSet</returns>
        public DataSet FindBy_Deletado(byte _Deletado)
        {
            try
            {
                strSql = new StringBuilder();
                strSql.Append(" SELECT ");
                // colunas
                strSql.Append(" CodProduto, Descricao, Valor_Compra, Valor_Venda, Deletado, codCategoria, NomeProduto  ");
                strSql.Append(" FROM  Produtos  ");
                strSql.Append(" WHERE (  Produtos.Deletado =   " + _Deletado + "  ) ");

                objDO = new SisEagleDO.SisEagleDO();

                // executa consulta e retorna um DataSet
                return objDO.GetDataSet(strSql.ToString(), "Produtos");
            }
            catch (Exception er)
            {
                throw new Exception("Aconteceu um erro:" + er.Message.ToString());
            }
            finally
            {
                strSql = null;
            }
        }

        /// <summary>
        /// Seleciona todos os registros por Deletado.
        /// </summary>
        /// <param name="_Deletado">filtro da consulta</param>
        /// <param name="_orderby">campo de ordenação</param>
        /// <returns>DataSet</returns>
        public DataSet FindBy_Deletado(byte _Deletado, string _orderby)
        {
            try
            {
                strSql = new StringBuilder();
                strSql.Append(" SELECT ");
                // colunas
                strSql.Append(" Produtos.CodProduto, Produtos.Descricao, Produtos.Valor_Compra, Produtos.Valor_Venda, " +
                     "Produtos.Deletado, Produtos.NomeProduto, Categorias.NomeCategoria FROM Produtos INNER JOIN " +
                     "  Categorias ON Produtos.codCategoria = Categorias.CodCategoria");
                strSql.Append(" WHERE (  Produtos.Deletado =   " + _Deletado + "  ) ");
                strSql.Append(" ORDER BY " + _orderby);

                objDO = new SisEagleDO.SisEagleDO();

                // executa consulta e retorna um DataSet
                return objDO.GetDataSet(strSql.ToString(), "Produtos");
            }
            catch (Exception er)
            {
                throw new Exception("Aconteceu um erro:" + er.Message.ToString());
            }
            finally
            {
                strSql = null;
            }
        }

        /// <summary>
        /// Seleciona todos os registros por codCategoria.
        /// </summary>
        /// <param name="_codCategoria">filtro da consulta</param>
        /// <returns>DataSet</returns>
        public DataSet FindBy_codCategoria(int _codCategoria)
        {
            try
            {
                strSql = new StringBuilder();
                strSql.Append(" SELECT ");
                // colunas
                strSql.Append(" Produtos.CodProduto, Produtos.Descricao, Produtos.Valor_Compra, Produtos.Valor_Venda, " +
                    "Produtos.Deletado, Produtos.NomeProduto, Categorias.NomeCategoria FROM Produtos INNER JOIN " +
                    "  Categorias ON Produtos.codCategoria = Categorias.CodCategoria");
                strSql.Append(" WHERE (  Produtos.codCategoria =   " + _codCategoria + "  ) ");

                objDO = new SisEagleDO.SisEagleDO();

                // executa consulta e retorna um DataSet
                return objDO.GetDataSet(strSql.ToString(), "Produtos");
            }
            catch (Exception er)
            {
                throw new Exception("Aconteceu um erro:" + er.Message.ToString());
            }
            finally
            {
                strSql = null;
            }
        }

        /// <summary>
        /// Seleciona todos os registros por codCategoria.
        /// </summary>
        /// <param name="_codCategoria">filtro da consulta</param>
        /// <param name="_orderby">campo de ordenação</param>
        /// <returns>DataSet</returns>
        public DataSet FindBy_codCategoria(int _codCategoria, string _orderby)
        {
            try
            {
                strSql = new StringBuilder();
                strSql.Append(" SELECT ");
                // colunas
                strSql.Append(" Produtos.CodProduto, Produtos.Descricao, Produtos.Valor_Compra, Produtos.Valor_Venda, " +
                    "Produtos.Deletado, Produtos.NomeProduto, Categorias.NomeCategoria FROM Produtos INNER JOIN " +
                    "  Categorias ON Produtos.codCategoria = Categorias.CodCategoria");
                strSql.Append(" WHERE (  Produtos.codCategoria =   " + _codCategoria + "  ) ");
                strSql.Append(" ORDER BY " + _orderby);

                objDO = new SisEagleDO.SisEagleDO();

                // executa consulta e retorna um DataSet
                return objDO.GetDataSet(strSql.ToString(), "Produtos");
            }
            catch (Exception er)
            {
                throw new Exception("Aconteceu um erro:" + er.Message.ToString());
            }
            finally
            {
                strSql = null;
            }
        }

        /// <summary>
        /// Seleciona todos os registros por NomeProduto.
        /// </summary>
        /// <param name="_NomeProduto">filtro da consulta</param>
        /// <returns>DataSet</returns>
        public DataSet FindBy_NomeProduto(string _NomeProduto)
        {
            try
            {
                strSql = new StringBuilder();
                strSql.Append(" SELECT ");
                // colunas
                strSql.Append(" Produtos.CodProduto, Produtos.Descricao, Produtos.Valor_Compra, Produtos.Valor_Venda, " +
                    "Produtos.Deletado, Produtos.NomeProduto, Categorias.NomeCategoria FROM Produtos INNER JOIN " +
                    "  Categorias ON Produtos.codCategoria = Categorias.CodCategoria");
                strSql.Append(" WHERE (  Produtos.NomeProduto =  '" + _NomeProduto + "'  ) ");

                objDO = new SisEagleDO.SisEagleDO();

                // executa consulta e retorna um DataSet
                return objDO.GetDataSet(strSql.ToString(), "Produtos");
            }
            catch (Exception er)
            {
                throw new Exception("Aconteceu um erro:" + er.Message.ToString());
            }
            finally
            {
                strSql = null;
            }
        }

        /// <summary>
        /// Seleciona todos os registros por NomeProduto.
        /// </summary>
        /// <param name="_NomeProduto">filtro da consulta</param>
        /// <param name="_orderby">campo de ordenação</param>
        /// <returns>DataSet</returns>
        public DataSet FindBy_NomeProduto(string _NomeProduto, string _orderby)
        {
            try
            {
                strSql = new StringBuilder();
                strSql.Append(" SELECT ");
                // colunas
                strSql.Append(" Produtos.CodProduto, Produtos.Descricao, Produtos.Valor_Compra, Produtos.Valor_Venda, " +
                    "Produtos.Deletado, Produtos.NomeProduto, Categorias.NomeCategoria FROM Produtos INNER JOIN " +
                    "  Categorias ON Produtos.codCategoria = Categorias.CodCategoria");
                strSql.Append(" WHERE (  Produtos.NomeProduto =  '" + _NomeProduto + "'  ) ");
                strSql.Append(" ORDER BY " + _orderby);

                objDO = new SisEagleDO.SisEagleDO();

                // executa consulta e retorna um DataSet
                return objDO.GetDataSet(strSql.ToString(), "Produtos");
            }
            catch (Exception er)
            {
                throw new Exception("Aconteceu um erro:" + er.Message.ToString());
            }
            finally
            {
                strSql = null;
            }
        }

        /// <summary>
        /// Insere os registros do banco e retorna o número de linhas afetadas.
        /// </summary>
        /// <param name="_vo">objetos vo do banco</param>
        /// <returns>int</returns>
        public int Insert(SisEagleVO.ProdutosVO _vo)
        {
            try
            {
                strSql = new StringBuilder();
                strSql.Append(" INSERT INTO  Produtos  ");
                strSql.Append(" (");

                strSql.Append(" Descricao, ");
                strSql.Append(" Valor_Compra, ");
                strSql.Append(" Valor_Venda, ");
                strSql.Append(" Deletado, ");
                strSql.Append(" codCategoria, ");
                strSql.Append(" NomeProduto ");
                strSql.Append(" ) ");
                strSql.Append(" VALUES (");
                strSql.Append("  '" + _vo.Descricao + "' , ");
                strSql.Append(" " + UtilsNumber.FormataDecimal(_vo.Valor_Compra) + " , ");
                strSql.Append(" " + UtilsNumber.FormataDecimal(_vo.Valor_Venda) + " , ");
                strSql.Append(" " + _vo.Deletado + " , ");
                strSql.Append(" " + _vo.codCategoria + " , ");
                strSql.Append("  '" + _vo.NomeProduto + "'  )");


                objDO = new SisEagleDO.SisEagleDO();

                // executa comando e retorna o número de linhas afetadas.
                return objDO.ExecutaQuery(strSql.ToString());
            }
            catch (Exception er)
            {
                throw new Exception("Aconteceu um erro:" + er.Message.ToString());
            }
            finally
            {
                strSql = null;
            }
        }

        /// <summary>
        /// Atualiza os registros do banco e retorna o número de linhas afetadas.
        /// </summary>
        /// <param name="_vo">objetos vo do banco</param>
        /// <returns>int</returns>
        public int Update(SisEagleVO.ProdutosVO _vo)
        {
            try
            {
                strSql = new StringBuilder();
                strSql.Append(" UPDATE  Produtos  ");
                strSql.Append(" SET ");

                strSql.Append("   Descricao =  '" + _vo.Descricao + "' ,  ");
                strSql.Append("   Valor_Compra =   " + UtilsNumber.FormataDecimal(_vo.Valor_Compra) + " ,  ");
                strSql.Append("   Valor_Venda =   " + UtilsNumber.FormataDecimal(_vo.Valor_Venda) + " ,  ");
                strSql.Append("   Deletado =   " + _vo.Deletado + " ,  ");
                strSql.Append("   codCategoria =   " + _vo.codCategoria + " ,  ");
                strSql.Append("   NomeProduto =  '" + _vo.NomeProduto + "'   ");

                strSql.Append(" WHERE ( CodProduto =   " + _vo.CodProduto + "  ) ");

                objDO = new SisEagleDO.SisEagleDO();

                // executa comando e retorna o número de linhas afetadas.
                return objDO.ExecutaQuery(strSql.ToString());
            }
            catch (Exception er)
            {
                throw new Exception("Aconteceu um erro:" + er.Message.ToString());
            }
            finally
            {
                strSql = null;
            }
        }

        /// <summary>
        /// Deleta os registros do banco e retorna o número de linhas afetadas.
        /// </summary>
        /// <param name="_vo">objetos vo do banco</param>
        /// <returns>int</returns>
        public int Delete(SisEagleVO.ProdutosVO _vo)
        {
            try
            {
                strSql = new StringBuilder();
                strSql.Append(" DELETE FROM Produtos  ");
                strSql.Append(" WHERE ( CodProduto = " + _vo.CodProduto + " ) ");

                objDO = new SisEagleDO.SisEagleDO();

                // executa comando e retorna o número de linhas afetadas.
                return objDO.ExecutaQuery(strSql.ToString());
            }
            catch (Exception er)
            {
                throw new Exception("Aconteceu um erro:" + er.Message.ToString());
            }
            finally
            {
                strSql = null;
            }
        }

    }

}
